package com.ae.shield.common.block;

import com.ae.shield.ModLib;
import com.ae.shield.common.fluid.NitrogenFluid;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.Block;
import net.minecraft.block.FlowingFluidBlock;
import net.minecraft.block.OreBlock;
import net.minecraft.block.material.Material;
import net.minecraftforge.common.ToolType;
import net.minecraftforge.fml.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;

public class BlockList {
    public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, ModLib.MOD_ID);
    public static final RegistryObject<Block> ASSEMBLY_BLOCK = BLOCKS.register("assembly_block", AssemblyBlock::new);
    public static final RegistryObject<Block> SHIELD_WORKBENCH_BLOCK = BLOCKS.register("shield_workbench_block", ShieldWorkbenchBlock::new);
    public static final RegistryObject<Block> NANO_ROBOT_PROGRAMMER = BLOCKS.register("nano_robot_programmer_block", NanoRobotProgrammerBlock::new);
    public static final RegistryObject<FlowingFluidBlock> NITROGEN_FLUID_BLOCK = BLOCKS.register("nitrogen_block", () -> NitrogenFluid.NitrogenFluidBlock);

    //矿物
    public static final RegistryObject<Block> ORES_TIN = BLOCKS.register("ores_tin", () -> new OreBlock(AbstractBlock.Properties.create(Material.ROCK).setRequiresTool().hardnessAndResistance(3f, 3f).harvestLevel(2).harvestTool(ToolType.PICKAXE)));
    public static final RegistryObject<Block> ORES_LEAD = BLOCKS.register("ores_lead", () -> new OreBlock(AbstractBlock.Properties.create(Material.ROCK).setRequiresTool().hardnessAndResistance(3f, 3f).harvestLevel(2).harvestTool(ToolType.PICKAXE)));
    public static final RegistryObject<Block> ORES_ALUMINUM = BLOCKS.register("ores_aluminum", () -> new OreBlock(AbstractBlock.Properties.create(Material.ROCK).setRequiresTool().hardnessAndResistance(3f, 3f).harvestLevel(2).harvestTool(ToolType.PICKAXE)));
    public static final RegistryObject<Block> ORES_SILVER = BLOCKS.register("ores_silver", () -> new OreBlock(AbstractBlock.Properties.create(Material.ROCK).setRequiresTool().hardnessAndResistance(3f, 3f).harvestLevel(3).harvestTool(ToolType.PICKAXE)));
    public static final RegistryObject<Block> ORES_MANGANESE = BLOCKS.register("ores_manganese", () -> new OreBlock(AbstractBlock.Properties.create(Material.ROCK).setRequiresTool().hardnessAndResistance(3f, 3f).harvestLevel(3).harvestTool(ToolType.PICKAXE)));
    public static final RegistryObject<Block> ORES_TANTALUM = BLOCKS.register("ores_tantalum", () -> new OreBlock(AbstractBlock.Properties.create(Material.ROCK).setRequiresTool().hardnessAndResistance(3f, 3f).harvestLevel(3).harvestTool(ToolType.PICKAXE)));

}
